/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.upn.sigemfi.vfi.bc;

import edu.upn.sigemfi.seg.be.Usuario;
import edu.upn.sigemfi.vfi.be.UsuarioVentanilla;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

/**
 *
 * @author Programador
 */
@Stateless
public class UsuarioVentanillaFacade implements UsuarioVentanillaFacadeLocal {

    @PersistenceContext(unitName = "edu.upn.sigemfi.vfi-ejbPU")
    private EntityManager emUV;

    public void create(UsuarioVentanilla usuarioVentanilla) {
        emUV.persist(usuarioVentanilla);
    }

    public void edit(UsuarioVentanilla usuarioVentanilla) {
        emUV.merge(usuarioVentanilla);
    }

    public void remove(UsuarioVentanilla usuarioVentanilla) {
        emUV.remove(emUV.merge(usuarioVentanilla));
    }

    public UsuarioVentanilla find(Object id) {
        return emUV.find(UsuarioVentanilla.class, id);
    }

    public List<UsuarioVentanilla> findAll() {
        return emUV.createQuery("select object(o) from UsuarioVentanilla as o").getResultList();
    }

    public UsuarioVentanilla buscarPorCodigoUsuario(Usuario fidSegUsuario) {
        UsuarioVentanilla uv = new UsuarioVentanilla();

        try {
            uv = (UsuarioVentanilla) emUV.createQuery("SELECT object(o) FROM UsuarioVentanilla as o WHERE o.fidSegUsuario = :fidSegUsuario ").setParameter("fidSegUsuario", fidSegUsuario).getSingleResult();

            return uv;

        } catch (Exception e) {

            e.printStackTrace();
        }

        return null;


    }
}
